package server;

/** Classe che gestisce le caselle di tipo Vegetazione.
 *
 */
public class Vegetazione extends Casella {
		
	private static final long serialVersionUID = 1L;
	private int energia;
	private int energiaMax;
	private double tassoDiCrescita;

	/** Costruttore che crea una casella di tipo vegetazione nelle coordinate che vengono passate.
	 * @param x Riga della Vegetazione.
	 * @param y Colonna della Vegetazione.
	 */
	public Vegetazione(int x, int y){
		super("V", x, y);
		this.tassoDiCrescita=0.10;
		this.energia=150 + (int)(200*Math.random());
		this.energiaMax=this.energia;
	}

	/** Metodo per ricavare l'energia della Vegetazione.
	 * @return Energia della Vegetazione.
	 */
	public int getEnergia() {
		return energia;
	}

	/** Metodo che setta l'energia della Vegetazione.
	 * @param energia Energia della Vegetazione.
	 */
	public void setEnergia(int energia) {
		this.energia = energia;
	}
	
	/** Metodo per ricavare l'energia massima della Vegetazione.
	 * @return Energia massima della Vegetazione.
	 */
	public int getEnergiaMax() {
		return energiaMax;
	}

	/** Metodo per settare l'energia massima della Vegetazione.
	 * @param energiaMax Energia massima della Vegetazione.
	 */
	public void setEnergiaMax(int energiaMax) {
		this.energiaMax = energiaMax;
	}

	/** Metodo per far crescere la casella di tipo Vegetazione.
	 * 
	 */
	public void crescita(){
		if(this.energia<this.energiaMax){
			this.energia = this.energia + (int)(this.energiaMax*this.tassoDiCrescita);
			if(this.energia>this.energiaMax){
				this.energia=this.energiaMax;
			}
		}
	}
	
	
}